#ifndef VEHICLEITEM_H
#define VEHICLEITEM_H

#include <QGraphicsPixmapItem>
#include <QGraphicsLineItem>
#include <QGraphicsPolygonItem>
#include "point.h"
#include "vehicleframe.h"

class VehicleItem : public QGraphicsPixmapItem
{
public:
  VehicleItem(const QString &name, const QPixmap &pixmap);

  void showVectors(const bool show);
  void showForces(const bool show);
  void setVehicleFrame(VehicleFrame* vf);

private:
  qreal mScale;
  QGraphicsLineItem* mAclVectorLine;
  QGraphicsLineItem* mVelVectorLine;
  QGraphicsLineItem* mEngineForceLine;
  QGraphicsLineItem* mBrakeForceLine;
  QGraphicsLineItem* mFrictionForceLine;
  QGraphicsLineItem* mDragForceLine;
  QGraphicsLineItem* mCurrentGoalLine;
  QGraphicsPolygonItem* mBoundingBox;
  QGraphicsPolygonItem* mLane;
};

#endif
